package com.gxc.array;

/**
 * 给定一个元素为非负整数的二维数组matrix，每行和每列都是从小到大有序的。
 * 再给定一个非负整数aim，请判断aim是否在matrix中。
 */
public class Exist {

    /**
     * 从右上角开始
     * aim比右上角小则像左走，比右上角大则像下走
     * @param matrix
     * @param aim
     * @return
     */
    private static boolean process(int[][] matrix, int aim) {
        if (matrix == null || matrix.length==0) return false;

        int startX = 0;
        int startY = matrix[0].length-1;
        int endX = matrix.length;

        while (startX < endX || startY>=0) {
            if (matrix[startX][startY] == aim) return true;
            else if (matrix[startX][startY]<aim) startX++;
            else startY--;
        }
        return false;
    }

}
